RobotFramework + Appium中屏幕键盘的处理

隐藏键盘

在写自动化用例过程中,经常遇到的问题是屏幕键盘覆盖了页面元素,导致某些按钮不可见,无法点击。而不同的安卓系统中屏幕键盘的行为非常不一致(有大有小、是否自动收回等),很难做到兼容。
后来采用的解决办法是在启动时,通过如下选项隐藏屏幕键盘,使用unicode键盘发送输入内容。

1
unicodeKeyboard=True resetKeyboard=True

1
open application ${service} platformName=${platform} platformVersion=${version} deviceName=${device_name} appPackage=${app_package} appActivity=${start_activity} unicodeKeyboard=True resetKeyboard=True

恢复键盘

采用上述方法隐藏键盘之后,遇到一个奇怪的问题:手机在任何情况下都无法弹出屏幕键盘。即使测试的APP已经关了,即使是在短信等系统应用下。
调查后发现是由于跑appium脚本的时候,会自动安装一个appium输入法到手机上,而且设置为默认输入法。所以当在输入框手动输入文字的时候,弹不出平常用的键盘来。
解决办法就是,到手机设置→语言和输入法→默认输入法选择为其他输入法即可。

欢迎打赏!